home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / vim / src / version.c < prev    next >
Text File  |  1995-03-09  |  16KB  |  281 lines

  1. /* vi:ts=4:sw=4:tw=78
  2.  *
  3.  * VIM - Vi IMproved        by Bram Moolenaar
  4.  *
  5.  * Read the file "credits.txt" for a list of people who contributed.
  6.  * Read the file "uganda.txt" for copying and usage conditions.
  7.  */
  8.  
  9. /*
  10.  Started with Stevie version 3.6 (Fish disk 217) - GRWalter (Fred)
  11.  
  12.  VIM 1.0    - Changed so many things that I felt that a new name was required
  13.             (I didn't like the name Stevie that much: I don't have an ST).
  14.             - VIM stands for "Vi IMitation".
  15.             - New storage structure, MULTI-LEVEL undo and redo,
  16.             improved screen output, removed an awful number of bugs,
  17.             removed fixed size buffers, added counts to a lot of commands,
  18.             added new commands, added new options, added 'smart indent',
  19.             added recording mode, added script files, moved help to a file,
  20.             etc. etc. etc.
  21.             - Compiles under Manx/Aztec C 5.0. You can use "rez" to make VIM
  22.             resident.
  23.             - Bram Moolenaar (Mool)
  24.  
  25.  VIM 1.09 - spaces can be used in tags file instead of tabs (compatible with
  26.             Manx ctags).
  27.  
  28.  VIM 1.10 - Csh not required anymore for CTRL-D. Search options /e and /s added.
  29.             Shell option implemented. BS in replace mode does not delete
  30.             character. Backspace, wrapmargin and tags options added.
  31.             Added support for Manx's QuickFix mode (just like "Z").
  32.             The ENV: environment variables instead of the Old Manx environment
  33.             variables are now used, because Vim was compiled with version 5.0d
  34.             of the compiler. "mool" library not used anymore. Added index to
  35.             help screens.
  36.  
  37.  VIM 1.11 - removed bug that caused :e of same file, but with name in upper case,
  38.             to re-edit that file.
  39.  
  40.  VIM 1.12 - The second character of several commands (e.g. 'r', 't', 'm') not
  41.             :mapped anymore (UNIX vi does it like this, don't know why); Some
  42.             operators did not work when doing a 'l' on the last character in
  43.             a line (e.g. 'yl'); Added :mapping when executing registers;
  44.             Removed vi incompatibility from 't' and 'T' commands; :mapping! also
  45.             works for command line editing; Changed a few details to have Vim
  46.             run the macros for solving a maze and Towers of Hanoi! It now also
  47.             runs the Turing machine macros!
  48.  
  49.  VIM 1.13 - Removed a bug for !! on empty line. "$" no longer puts cursor at
  50.             the end of the line when combined with an operator. Added
  51.             automatic creation of a script file for recovery after a crash.
  52.             Added "-r" option. Solved bug for not detecting end of script file.
  53.             ".bak" is now appended, thus "main.c" and "main.h" will have
  54.             separate backup files.
  55.  
  56.  VIM 1.14 - Removed a few minor bugs. Added "-n" option to skip autoscript.
  57.             Made options more Vi compatible. Improved ^C handling. On serious
  58.             errors typahead and scripts are discarded. 'U' is now correctly
  59.             undone with 'u'. Fixed showmatch() handling of 'x' and '\x'.
  60.             Solved window size dependency for scripts by adding ":winsize"
  61.             commands to scripts. This version released on Fish disk 591.
  62.  
  63.  VIM 1.15 - No extra return in recording mode (MCHAR instead of MLINE buffer).
  64.             plural() argument is now a long. Search patterns shared between
  65.             :g, :s and /. After recovery a message is given. Overflow of mapbuf
  66.             is detected. Line number possible with :read. Error message when
  67.             characters follow a '$' in a search pattern. Cause for crash
  68.             removed: ":s/pat/repl/g" allocated not enough memory. Option
  69.             "directory" added. Option "expandtab" added. Solved showmode non-
  70.             functioning. Solved bug with window resizing. Removed some *NULL
  71.             references. CTRL-], * and # commands now skips non-identifier
  72.             characters. Added tag list, CTRL-T, :pop and :tags commands.
  73.             Added jump list, CTRL-O and CTRL-I commands. Added "shiftround"
  74.             option. Applied AUX and Lattice mods from Juergen Weigert.
  75.             Finally made linenr_t a long, files can be > 65000 lines!
  76.             :win command could be written to script file halfway a command.
  77.             Option shelltype added. With ^V no mapping anymore.
  78.             Added :move, :copy, :t, :mark and :k. Improved Ex address parsing.
  79.             Many delimiters possible with :s.
  80.  
  81.  VIM 1.16 - Solved bug with zero line number in Ex range. Added file-number to
  82.             jump list. Solved bug when scrolling downwards. Made tagstack vi
  83.             compatible. Cmdline editing: CTRL-U instead of '@'. Made Vim DICE
  84.             compatible. Included regexp improvements from Olaf Seibert,
  85.             mapstring() removed. Removed bug with CTRL-U in insert mode.
  86.             Count allowed before ". Added uppercase (file) marks. Added
  87.             :marks command. Added joinspaces option. Added :jumps command. Made
  88.             jumplist compatible with tag list. Added count to :next and :Next.
  89.  
  90.  VIM 1.17 - Removed '"' for Ex register name. Repaired stupid bug in tag code.
  91.             Now compiled with Aztec 5.2a. Changed Arpbase.h for use with 2.04
  92.             includes. Added repdel option. Improved :set listing. Added count
  93.             to 'u' and CTRL-R commands. "vi:" and "ex:" in modelines must now
  94.             be preceded with a blank. Option "+command" for command line and
  95.             :edit command added.
  96.  
  97.  VIM 1.18 - Screen was not updated when all lines deleted. Readfile() now
  98.             puts cursor on first new line. Catch strange disk label.
  99.             Endless "undo line missing" loop removed. With empty file 'O' would
  100.             cause this. Added window size reset in windexit(). Flush .vim file
  101.             only when buffer has been changed. Added the nice things from
  102.             Elvis 1.5: Added "equalprg" and "ruler" option. Added quoting.
  103.             Added third meaning to 'backspace' option: backspacing over start
  104.             of insert. Added "-c {command}" command line option. Made generating
  105.             of prototypes automatically. Added insert mode command CTRL-O and
  106.             arrow keys. CTRL-T/CTRL-D now always insert/delete indent. When
  107.             starting an edit on specified lnum there was redraw of first lines.
  108.             Added 'inputmode' option. Added CTRL-A and CTRL-S commands. '`' is
  109.             now exclusive (as it should be). Added digraphs as an option.
  110.             Changed implementation of parameters. Added :wnext command.
  111.             Added ':@r' command. Changed handling of CTRL-V in command line.
  112.             Block macros now work. Added keyword lookup command 'K'. Added
  113.             CTRL-N and CTRL-P to command line editing. For DOS 2.0x the Flush
  114.             function is used for the autoscript file; this should solve the
  115.             lockup bug. Added wait_return to msg() for long messages.
  116.  
  117.  VIM 1.19 - Changes from Juergen Weigert:
  118.             Terminal type no longer restricted to machine console. New
  119.             option -T terminal. New set option "term". Builtin termcap 
  120.             entries for "amiga", "ansi", "atari", "nansi", "pcterm". 
  121.             Ported to MSDOS. New set option "textmode" ("tx") to control 
  122.             CR-LF translation. CTRL-U and CTRL-D scroll half a screen full,
  123.             rather than 12 lines. New set option "writebackup" ("wb") to 
  124.             disable even the 'backup when writing' feature.
  125.             Ported to SunOS. Full termcap support. Does resize on SIGWINCH.
  126.  
  127.             Made storage.c portable. Added reading of ".vimrc". Added
  128.             'helpfile' option. With quoting the first char of an empty line
  129.             is inverted. Optimized screen updating a bit. Startup code 
  130.             looks for VIMINIT variable and .vimrc file first. Added option
  131.             helpfile. Solved bug of inserting deletes: redefined ISSPECIAL.
  132.             Changed inchar() to use key codes from termcap. Added parameters
  133.             for terminal codes. Replaced aux device handling by amiga window
  134.             handling. Added optional termcap code. Added 'V', format
  135.             operator.
  136.  
  137.  VIM 1.20 - wait_return only ignores CR, LF and space. 'V' also works for
  138.             single line. No redrawing while formatting text. Added CTRL-Z.
  139.             Added usage of termcap "ks" and "ke". Fixed showmatch().
  140.             Added timeout option. Added newfile argument to readfile().
  141.  
  142.  VIM 1.21 - Added block mode. Added 'o' command for quoting. Added :set inv.
  143.             Added pos2ptr(). Added repeating and '$' to Quoting.
  144.  
  145.  VIM 1.22 - Fixed a bug in doput() with count > 1.
  146.             Port to linux by Juergen Weigert included.
  147.             More unix semantics in writeit(), forceit flag ignores errors while 
  148.             preparing backup file. For UNIX, backup is now copied, not moved.
  149.             When the current directory is not writable, vim now tries a backup
  150.             in the directory given with the backupdir option. For UNIX, raw mode
  151.             has now ICRNL turned off, that allowes ^V^M. Makefiles for BSD,
  152.             SYSV, and linux unified in makefile.unix. For MSDOS
  153.             mch_get_winsize() implemented. Reimplemented builtin termcaps in
  154.             term.c and term.h. set_term() now handles all cases. Even builtins
  155.             when TERMCAP is defined. Show "..." while doing filename completion.
  156.  
  157.  VIM 1.23 -    Improved MSDOS version: Added function and cursor keys to builtin 
  158.             pcterm. Replaced setmode by settmode, delay by vim_delay and 
  159.             delline by dellines to avoid name conflicts. Made F1 help key.
  160.             Renamed makecmdtab to mkcmdtab and cmdsearch to csearch for 
  161.             8 char name limit. Wildcard expansion adds *.* to names without a 
  162.             dot. Added shell execution.
  163.             For unix: writeit() overwrites readonly files when forced write,
  164.             more safety checks. Termcap buffer for linux now 2048 bytes.
  165.             Expandone() no longer appends "*" to file name. Added "graphic"
  166.             option. Added ':' command to quoting.
  167.             
  168.  VIM 1.24    Adjusted number of spaces inserted by dojoin(). MSDOS version uses 
  169.             searchpath() to find helpfile. Fixed a few small problems. Fixed 
  170.             nasty bug in getperm() for SAS 6.0. Removed second argument from 
  171.             wait_return(). Script files accessed in binary mode with MSDOS. 
  172.             Added 'u' and 'U' commands to quoting (make upper or lower case). 
  173.             Added "CTRL-V [0-9]*" to enter any byte value. Fixed doput().
  174.             Dodis() displays register 0. Added CTRL-B to insert mode. Attempt 
  175.             to fix the lockup bug by adding Delay() to startscript(). -v 
  176.             option now implies -n option. doformat() added to improve 'V' 
  177.             command. Replace bool_t with int. Fixed handling of \& and ~ in
  178.             regsub(). Added interrupt handling in msdos.c for ctrl-break and
  179.             critical errors. Added scrolljump option. Added :stop. Added -d
  180.             argument. Fixed bug in quickfix startup from cli. Fixed enforcer
  181.             hit with aux:. Added CTRL-C handling to unix.c. Fixed "O<BS><CR>" 
  182.             bug with autoindent. Worked around :cq not working by adding a 
  183.             printf()!? Added default mapping for MSDOS PageUp etc. Fixed 
  184.             cursor position after 'Y'. Added shift-cursor commands. Changed 
  185.             ExpandFile() to keep names with errors. Added CLEAR and CURSUPD 
  186.             arguments to updateScreen(). Fixed CTRL-@ after a change command.
  187.             modname() changes '.' into '_'. Added emptyrows to screen.c. 
  188.             Fixed redo of search with offset. Added count to 'z' command. 
  189.             Made :so! work with :global. Added writing of cursor postition to 
  190.             startscript(). Minimized terminal requirements. Fixed problem 
  191.             with line in tags file with mixed spaces and tabs. Fixed problem 
  192.             with pattern "\\" in :s and :g. This version posted on Usenet.
  193.  
  194.  VIM 1.25    Improved error messages for :set. Open helpfile in binary mode 
  195.             for MSDOS. Fixed ignorecase for Unix in cstrncmp(). Fixed read 
  196.             from NULL with :tags after vim -t. Repaired 'z' command. Changed 
  197.             outnum() for >32767. In msdos.c flushbuf did write(1, .. instead 
  198.             of write(0, .. Added secure to fix security. Fixed pointer 
  199.             use after free() bug in regsub() (made :s fail under MSDOS). 
  200.             Added nofreeNULL(), needed for some UNIXes. Improved window 
  201.             resizing for Unix. Fixed messages for report == 0. Added 
  202.             bsdmemset(). Changed a few small things for portability. Added 
  203.             :list. Made '0' and '^' exclusive. Fixed regexp for /pattern* 
  204.             (did /(pattern)* instead of /pattern(n)*). Added "']" and "'[". 
  205.             Changed Delay(2L) into Delay(10L). Made 'timeout' option 
  206.             vi-compatible, added 'ttimeout' option. Changed TIOCSETP to 
  207.             TIOCSETN in unix.c. Added "ti" and "te" termcap entries, makes 
  208.             sun cmdtool work. Added stop- and starttermcap(). Use cooked 
  209.             output for listings on Amiga only. Added "starting" flag, no ~s 
  210.             anymore with every startup. Modname made portable; Added 
  211.             'shortname' option, Fixed problems with .vim file on messydos. 
  212.             Global .exrc/.vimrc for Unix added. Added patches for SCO Xenix. 
  213.             Add :w argument to list of alternate file names. Applied a few 
  214.             changes for HPUX. Added Flock in writeit() for safety. Command 
  215.             ":'a,'bm." moved to 'b instead of current line. Argument in 
  216.             'shell' option allowed. Re-implemented :copy and :move. Fixed 
  217.             BS-CR-BS on empty line bug in edit.c. -t option was ignored if 
  218.             there is a file ".vim". Changed amiga.c to work without 
  219.             arp.library for dos 2.0. Fixed "\$" and "\^" in regexp. Fixed 
  220.             pipe in filter command. Fixed CTRL-U and CTRL-D. With '}' indent 
  221.             in front of the cursor is included in the operated text. Fixed 
  222.             tag with '[' in search pattern. Added CTRL-V to 'r'. Fixed "tc" 
  223.             entry in termlib.c. term_console now default off. Added :noremap 
  224.             and ^V in :map argument. Replaced CTRL by Ctrl because some 
  225.             unixes have this already. Fixed "Empty file" message disappearing 
  226.             when there is no .exrc file. Added CTRL-K for entering digraphs. 
  227.             Removed escape codes from vim.hlp, added handling of inversion to 
  228.             help().
  229.  
  230.  VIM 1.26    For Unix: Removed global .exrc; renamed global .vimrc to vimrc.
  231.              Moved names of *rc and help files to makefile. Added various 
  232.             little changes for different kinds of Unix. Changed CR-LF 
  233.             handling in dosource() for MSDOS. Added :mkvimrc. Fixed 
  234.             WildExpand in unix.c for empty file. Fixed incompatibility with 
  235.             msdos share program (removed setperm(fname, 0) from fileio.c).
  236.             Added ":set compatible". Fixed 'history=0'.
  237.  
  238.  VIM 1.27    Added USE_LOCALE. Changed swapchar() to use toupper() and 
  239.             tolower(). Changed init order: .vimrc before EXINIT. Half-fixed 
  240.             lines that do not fit on screen. A few minor bug fixes. Fixed 
  241.             typehead bug in Read() in unix.c. Added :number. Reset IXON flag 
  242.             in unix.c for CTRL-Q. In tags file any Ex command can be used. Ex 
  243.             search command accepts same flags as normal search command. Fixed 
  244.             '?' in tag search pattern. 'New file' message was wrong when 'bk' 
  245.             and 'wb' options were both off.
  246.  
  247.  Vim 1.29 to 1.31 and Vim 2.0    See ../readme2.0.
  248.  
  249.  Vim 2.0    When reading and writing files and in some other cases use short
  250.              filename if ":cd" not used. Fixes problem with networks. Deleted
  251.             "#include <ctype.h>" from regexp.c. ":v" without argument was not
  252.             handled correctly in doglob(). Check for tail recursion removed
  253.             again, because it forbids ":map! foo ^]foo", which is OK. Removed
  254.             redraw on exit for msdos. Fixed return value for FullName in
  255.             unix.c. Call_shell does not always use cooked mode, fixes problem
  256.             with typing CR while doing filename completion in unix. "r<TAB>"
  257.             now done by edit() to make expandtab works. Implemented FullName
  258.             for msdos. Implemented the drive specifier for the :cd command for
  259.             MSDOS. Added CTRL-B and CTRL-E to command line editing. Del key
  260.             for msdos not mapped to "x" in command mode, could not delete last
  261.             char of count. Fixed screen being messed up with long commands
  262.             when 'sc' is set. Fixed use of CR-LF in tags file. Added check
  263.             for abbreviation when typing ESC or CTRL-O in insert mode. Doing
  264.             a ":w file" does overwrite when "file" is the current file. Unmap
  265.             will check for 'to' string if there is no match with 'from'
  266.             string; Fixes ":unab foo" after ":ab foo bar". Fixed problem in
  267.             addstar() for msdos: Check for negative index. Added possibility
  268.             to switch off undo ":set ul=-1". Allow parameters to be set to
  269.             numbers >32000 for machines with 16 bit ints.
  270.  
  271.  Vim 2.1 to 3.0: see readme3.0
  272.  
  273. */
  274.  
  275. char           *Version = "VIM 3.0";
  276. #if !defined(__DATE__) || !defined(__TIME__)
  277. char           *longVersion = "Vi IMproved 3.0 by Bram Moolenaar (1994 Aug 12)";
  278. #else
  279. char           *longVersion = "Vi IMproved 3.0 by Bram Moolenaar (1994 Aug 12, compiled " __DATE__ " " __TIME__ ")";
  280. #endif
  281.